<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>类式组件</title>
</head>
<body>
<!--准备好的容器-->
<div id="test">

</div>
</body>
<!--核心库引入顺序，必须先是核心库然后在引入dom库-->
<script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>
<!--用于支持react操作dom-->
<script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>
<!--引入babel，用于将jsx转为js-->
<script src="https://unpkg.com/babel-standalone@6/babel.min.js" crossorigin></script>

<!--此处的type必须是Babel不能是JavaScript-->
<script type="text/babel">
    //1.创建类式组件
    class MyComponent extends React.Component {
        render() {
            //render是放在哪里的？ - MyComponent的原型对象上，供实例使用
            //render中的this是谁？ - MyComponent的实例对象 <=> MyComponent组件实例对象
            console.log('render中的this:', this)
            return (
                <h2>我是用类定义的组件(适用于【复杂组件】的定义)</h2>
            )
        }
    }

    //2.渲染组件到页面
    ReactDOM.render(<MyComponent/>, document.getElementById('test'))
    /*
    * 执行了ReactDOM.render(<MyComponent/>....之后，发生了什么？
    *   1·React解析组件标签，找到了MyComponent组件。
    *   2·发现组件是使用类定义的，随后调用new 出来该类的实例，并通过该实例调用原型上的render方法
    *   3.将render返回的虚拟Dom转为真实dom，随后呈现在页面中
    */
</script>
</html>